<?php

namespace app\common\service;

use think\db\Query;

interface CommonBaseInterface
{

    function initialize();

    function find();

    function paginate(int $pageNum);

    function select();

    function create(array $data);

    function update(array $data, array $where);

    function save();

    function delete();

    function setWhere(array $where);

    function setLimit(int $limit);

    function setOrder(string $order);

    function setForce(bool $force);

    function setWith(array $with);

    function setStatus(int $status);

    function query() : Query;

    /**
     * 将数据格式化成能够存入数据库的格式
     * @param array $data
     * @return array
     */
    function formatData(array $data): array;
}
